package com.wangshuo.webadmin.vo.room;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.wangshuo.webadmin.entity.*;
import com.wangshuo.webadmin.vo.attr.AttrValueVo;
import com.wangshuo.webadmin.vo.graph.GraphVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;


@Schema(description = "房间信息")
@Data
public class RoomDetailVo extends RoomInfo {

    @Schema(description = "所属公寓信息")
    @JsonProperty
    private ApartmentInfo apartmentInfo;

    @Schema(description = "图片列表")
    @JsonProperty
    private List<GraphVo> graphVoList;

    @Schema(description = "属性信息列表")
    @JsonProperty
    private List<AttrValueVo> attrValueVoList;

    @Schema(description = "配套信息列表")
    @JsonProperty
    private List<FacilityInfo> facilityInfoList;

    @Schema(description = "标签信息列表")
    @JsonProperty
    private List<LabelInfo> labelInfoList;

    @Schema(description = "支付方式列表")
    @JsonProperty
    private List<PaymentType> paymentTypeList;

    public ApartmentInfo getApartmentInfo() {
        return apartmentInfo;
    }

    public void setApartmentInfo(ApartmentInfo apartmentInfo) {
        this.apartmentInfo = apartmentInfo;
    }

    public List<GraphVo> getGraphVoList() {
        return graphVoList;
    }

    public void setGraphVoList(List<GraphVo> graphVoList) {
        this.graphVoList = graphVoList;
    }

    public List<AttrValueVo> getAttrValueVoList() {
        return attrValueVoList;
    }

    public void setAttrValueVoList(List<AttrValueVo> attrValueVoList) {
        this.attrValueVoList = attrValueVoList;
    }

    public List<FacilityInfo> getFacilityInfoList() {
        return facilityInfoList;
    }

    public void setFacilityInfoList(List<FacilityInfo> facilityInfoList) {
        this.facilityInfoList = facilityInfoList;
    }

    public List<LabelInfo> getLabelInfoList() {
        return labelInfoList;
    }

    public void setLabelInfoList(List<LabelInfo> labelInfoList) {
        this.labelInfoList = labelInfoList;
    }

    public List<PaymentType> getPaymentTypeList() {
        return paymentTypeList;
    }

    public void setPaymentTypeList(List<PaymentType> paymentTypeList) {
        this.paymentTypeList = paymentTypeList;
    }

    public List<LeaseTerm> getLeaseTermList() {
        return leaseTermList;
    }

    public void setLeaseTermList(List<LeaseTerm> leaseTermList) {
        this.leaseTermList = leaseTermList;
    }

    @Schema(description = "可选租期列表")
    @JsonProperty
    private List<LeaseTerm> leaseTermList;
}
